#ifndef __PLAYER_H__
#define __PLAYER_H__


#define WM_RECEIVEMSG (WM_USER+500)

const int MAX_VOLUMES = 16;
static LONG s_volume_values[MAX_VOLUMES] =
{
    // increment 6db..
    -10000, -5754, -3311, -1905, -1300,
    -1000, -900, -800, -700, -600,
    -500, -400, -300, -200, -100,
    0
};

enum
{
    PLAY_STATUS_STOP,
    PLAY_STATUS_PLAY,
    PLAY_STATUS_PAUSE,
    PLAY_STATUS_MAX,
    PLAY_STATUS_COMPLATE
};

enum
{
    PLAY,
    PAUSE,
};

enum
{
    EQ_MODE_NONE,
    EQ_MODE_CLASSIC,
    EQ_MODE_POP,
    EQ_MODE_ROCK,
    EQ_MODE_JAZZ,
    EQ_MODE_USER,
    EQ_MODE_SRSWOW,
    EQ_MODE_MAX
};

enum
{
    APPLAUD,//鼓掌
    CHEER,  //欢呼
    WHISTL, //口哨
    LAUGH   //倒彩
};
extern "C"
{


    _declspec(dllimport)
    void initplayer(int x, int y, int width, int height, bool bShow, void (*pfun)(int));

    _declspec(dllimport)
    void _stdcall DestroyPlayer();

    _declspec(dllimport)
    void _stdcall StopPlay();

    _declspec(dllimport)
    int _stdcall GetPlayingStatus();

    _declspec(dllimport)
    void _stdcall NextSong(const TCHAR* tszFileName);

    _declspec(dllimport)
    void _stdcall MoveVideoWindow(int x, int y, int width, int height);

    _declspec(dllimport)
    void _stdcall SetAudioChannel(int nChannel);

    _declspec(dllimport)
    void _stdcall SetAudioVolume(unsigned int nCurVolume, int nSilent);

    _declspec(dllimport)
    void _stdcall PauseOrContinue(int nOption);

    _declspec(dllimport)
    void _stdcall SetMyEQ(int nMode);

    _declspec(dllimport)
    void _stdcall ShowPlayerWindow(bool bShow);

    _declspec(dllimport)
    void _stdcall SetEffects(int nEffect);
};

#endif